The present disclosure relates to backing up data stored in a storage system.
Data in computer storage systems is often copied or archived in one or more backups. Backups may include a full backup and a delta backup. A full backup replicates the entire data set, whereas a delta backup replicates data changed since a previous back up. Delta backups can include a differential backup or an incremental backup. A differential backup replicates data that has changed since the previous full backup, where an incremental backup replicates data that has changed since the previous delta backup.
In creating delta backups, a method is usually employed to determine the change set since the previous backup (e.g. previous full or delta backup). Some methods include comparing a per block checksum with a previously remembered checksum for the same block. In file-based systems, file timestamps may be compared to determine which files have changed.
With delta backups, the change set since the previous backup usually needs to be determined. In general, various methods to determine the change set generally trade off time and space. Specifically, the efficiency of the backup process may be sacrificed in order to limit the size of the backup. Conversely, more data than necessary may be backed up in order to limit the resource usage of the backup process.
Many indirection-based storage device systems use a map, such as a dynamic translation table, that keeps track of mappings from logical addresses to physical media. For instance, when logical segments are overwritten, the translation table is updated to point to a new location in the physical media and the old physical media location is reclaimed by a garbage collection process.